#include <iostream>
#include <vector>
using namespace std;
class Solution
{
public:
    int maxPoints(vector<vector<int>> &points)
    {
        if (points.size() == 0 || points.size() == 1)
            return points.size();
        int maxCount = 0;
        for (int i = 0; i < points.size(); i++)
        {
            for (int j = i + 1; j < points.size(); j++)
            {
                int cx = points[i][0];
                int cy = points[i][1];
                int px = points[j][0];
                int py = points[j][1];
                int count = 2;
                for (int k = 0; k < points.size(); k++)
                {
                    if (k != i && k != j)
                    {
                        int x = points[k][0];
                        int y = points[k][1];
                        // d1x*d2y=d2x*d1y
                        if ((px - cx) * (y - cy) == (py - cy) * (x - cx))
                        {
                            count++;
                        }
                    }
                }
                maxCount = max(maxCount, count);
            }
        }
        return maxCount;
    }
};
int main()
{
    cout << "Code149" << endl;
    Solution s;
    return 0;
}